package initialize

import (
	"go-likaladi-shop/common/base_config"
	"go-likaladi-shop/common/base_init"
	"google.golang.org/grpc"
	"lw-shop/user_service/global"
	"lw-shop/user_service/handler"
	"lw-shop/user_service/proto"
)

// InitConfig 创建一个默认的 Gin 引擎，初始化日志、相关路由映射
func InitConfig(host string, port int, filePath string) {
	// InitLogger 函数用于初始化日志系统，设置全局日志实例
	base_init.Logger()

	//初始化config.yaml文件配置信息
	base_init.YmlConfig(filePath, global.ServerConfig)

	//初始化数据库
	base_init.DB(global.ServerConfig.MysqlConfig)

	//启动 gRPC 服务器 并 将当前服务 注册到 Consul 服务中心
	base_init.GrpcServerConnectRegisterConsul(host, port, func(server *grpc.Server) {
		// 注册用户服务到 gRPC 服务器
		proto.RegisterUserServer(server, &handler.UserServer{})
	}, &base_config.RegisterConsul{
		Consul:   global.ServerConfig.ConsulConfig, //注册中心配置
		Register: global.ServerConfig.Register,     //注册服务信息配置
	})
}
